iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
自我挑戰組

月光下的Flask之旅系列 第 7

Day 07 PIP & import 入門

  • 分享至 

  • xImage
  •  

在講這篇的主題前,先來稍微說說為什麼 Python 會在 2018 年開始起飛成為第二熱門語言的(忘記的回去看 Day 01 )。

其實 Python 會起飛的原因主要是 AI 開始熱門起來,因為相較於其他有名的程式語言,例如較古老的 C(1992~Now) 跟較年輕的 Java(1995~Now) , Python(1991~Now) 有個方便的軟體包管理系統 — PIP(2011~Now) ,讓我們可以使用其他人做好的軟體包快速的架構出自己的應用,也可以將自己做好的軟體包發布出去供其他人使用;加上語法相對簡單,所以導致了在 AI 應用上更加偏好使用 Python 。

而 PIP 跟 import 關係非常密切,所以就放在一起講了。

PIP

那麼好用的 PIP 要怎麼安裝呢?嗯,其實不用安裝( Python 3.4 以上都能正常使用),因為 Day 02 在安裝 Python 的時候已經包在裡面一起安裝好了(至少 Windows 是這樣)。

既然不用擔心怎麼安裝,那就直接來看怎麼使用吧!首先打開 CMD,會出現下圖(位置不一樣沒關係),並打上 pip --version 後按下 Enter

應該會看到版號 21.1.1 (版號不一樣沒關係,有就好)。

確定PIP有安裝好了之後,如果要安裝其他模組,只要輸入以下指令 pip install <name> ,就可以安裝模組了。例如:

$ pip install beautifulsoup4

如果要解除安裝也可以,只要輸入 pip uninstall <name> 就可以了。例如:

$ pip uninstall beautifulsoup4

import(入門)

使用PIP安裝好模組之後,就可以使用該模組了。而將模組導入使用的方法是把模組 import 進來,

import 進來的語法有兩種,分別為:

  1. import <module>

    ''' Input '''
    import random
    
    # 使用 random 模組裡面的 randint 函式 (random 是Python標準庫 不用特別安裝)
    print(random.randint(0,10))
    
    ''' Output '''
    2
    

    語法1 因為式將整個模組 import 進來,所以在呼叫 Module(模組) 裡的 Function(函式) 時必須將所屬的 Module(模組) 加在前方,並且中間加 . (是英文句號,不是逗號)。

  2. from <module> import <name1, name2, ...>

    ''' Input '''
    # 導入 random 模組裡面的 randint 函式
    from random import randint
    
    print(randint(0,10))
    
    ''' Output '''
    2
    

    語法2 因為直接將 Function(函式) 導入,所以不需要將所屬的 Module(模組) 加在前方了。不過若是想要使用 Module(模組) 下的另一個 Function(函式),就必須在 import 後方再加另一個 Function(函式) 的名稱了。

    - 語法2 的變形(不推薦)
    from <module> import *

    用這種方式可以 import module 裡面所有的 function,而且也不用再使用時前面加 module 名稱。但是可能會造成名稱衝突且降低可讀性和可維護性(就是說可能會產生隱藏的 Bug ,而且是最難解、幾乎看不出來的那種)。

* 如果 import Function 的名稱會跟現在的地方有衝突,可以使用 as <new_name> 來改名,例如:

import random as rd
# or 
from random import randint as rd_int

這樣用 as 改名就可以避免名字跟現在的地方有衝突(雖然 as 的用途包括但不僅限於用在 import 上面)。

題外話

在 PEP8 中有對於導入模組的順序有相關的建議,不過其實不太會有人花很多的精力去看 import 這部分,所以要不要照著建議就自己衡量一下吧。

Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.

Imports should be grouped in the following order:

  1. Standard library imports.
  2. Related third party imports.
  3. Local application/library specific imports.

You should put a blank line between each group of imports.

導入總是放在文件的頂部,就在任何模塊註釋和文檔字符串之後,以及模塊全局變量和常量之前。

進口應按以下順序分組:

  1. 標準庫導入。
  2. 相關的第三方進口。
  3. 本地應用程序/庫特定的導入。

您應該在每組導入之間放置一個空行。

那麼就大概這樣,這篇主要是讓你了解如何 import 而已。

大家掰~掰~


上一篇
Day 06 Python 的特點
下一篇
Day 08 import 進階
系列文
月光下的Flask之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
a2134666
iT邦新手 5 級 ‧ 2023-05-09 14:54:35

「較古老的 C(1992~Now) 」這段C語言的年份是不是寫錯了呢?

我要留言

立即登入留言